package com.briup.oagg.facade.service.dateset;



import com.briup.oagg.facade.web.vm.page.Page;
import com.briup.oagg.facade.web.vm.dataset.TrapAddVM;
import com.briup.oagg.facade.web.vm.dataset.TrapTypeVM;
import com.briup.oagg.facade.web.vm.dataset.TrapUpdateVM;
import com.briup.oagg.facade.web.vm.dataset.TrapVM;

import java.util.List;

/**
 * 圈闭信息业务逻辑接口
 *
 * @author briup
 */
public interface ITrapService{
    /**
     * 新增圈闭信息
     * @param vm 新增参数
     */
    void addTrap(TrapAddVM vm);

    /**
     * 根据圈闭id修改圈闭描述信息
     * @param vm 修改参数
     */
    void updateTrap(TrapUpdateVM vm);

    /**
     * 统计圈闭数量
     * @return
     */
    Integer count();

    /**
     * 分页多条件查询圈闭信息
     * @param pageNum   当前页码
     * @param pageSize  每页大小
     * @param zoneId    区域编号
     * @return  分页信息
     */
    Page<TrapVM> findByPage(Integer pageNum, Integer pageSize, String zoneId);

    /**
     * 根据圈闭id删除圈闭信息
     * @param trapId 圈闭编号
     */
    void deleteById(String trapId);

    /**
     * 查询所有的圈闭类型
     * @return
     */
    List<TrapTypeVM> findAllType();
}
